/**
* Factory.java 2020/5/15 7:41 下午
* Copyright ©2020 wondersgroup.com All rights reserved.
* PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package common.factory;

import common.model.Codec2;
import configcenter.zookeeper.curator.RegistryFactory;
import loadbalancer.LoadBalance;
import remoting.Transporter;
import remoting.exchange.Exchanger;
import threadpools.ThreadPool;

/**
 * File：Factory.java<br>
 * Title: <br>
 * Description: <br>
 * Company: www.treefinance.com.cn <br>
 * @author heyouchi
 */
public interface Factory {

  Transporter getTransporter(String name);

  Transporter getTransporter();

  Codec2 getCodec2(String name);

  Codec2 getCodec2();

  ThreadPool getThreadPool(String name);

  ThreadPool getThreadPool();

  Exchanger getExchanger(String name);

  Exchanger getExchanger();

  RegistryFactory getRegistryFactory(String name);

  RegistryFactory getRegistryFactory();

  LoadBalance getLoadBalance(String name);

  LoadBalance getLoadBalance();
}
